01 零基础启蒙
体会到编程是什么
- 《与孩子一起学编程》:以 Python 语言教你如何写程序,会教你编一些小游戏,讲基本的编程知识。
- 编程入门网站:Codecademy: Learn Python
做点实际有用的东西
MDN 的 Web 开发入门:带着建立一个网站。可以把网页发布在 GitHub 上。
编程入门
Python
零基础入门非常不错的图书,里面有大量的更为实用的示例和项目,可以快速给你正反馈。
这两本书主要通过示例来强化对编程的学习。第一本偏文本处理,包括处理 Word、Excel 和 PDF,第二本中有一些 Web 项目和代码部署方面的内容。可以把两本书中的示例都跑一遍,如果时间有限,推荐看第二本。
JavaScript
- MDN JavaScript 教程:最权威的 JavaScript 官方教程,从初级到中级再到高级。
- W3School JavaScript 教程:比较偏 Web 方面的编程。
- JavaScript 全栈教程(廖雪峰):比较偏应用的教程,也是偏 Web 方面的编程,同时包括涉及后端的 Node.js 方面的教程。
操作系统 Linux
W3CSchool 上的在线 Linux 教程
编程工具 Visual Studio Code
推荐时下最流行也是最好用的开发工具 VSCode。
Web 编程入门
前端基础
CSS、HTML 和 JavaScript
- CSS 文档
- HTML 文档
- W3Schools 的 JavaScript HTML DOM 的教程:学习使用 JavaScript 操纵 HTML,理解 DOM 和动态网页
后端基础
Python
Node.js
PHP:W3School的PHP教程
学习要点:
- 学习 HTML 基本语法。
- 学习 CSS 如何选中 HTML 元素并应用一些基本样式。
- 学会用 Chrome 查看网页结构,并动态修改。
- 在一台 Linux 机器上配置部署环境。
- 学习后端语言并能够和前台 HTML 进行数据交互,对服务器响应浏览器请求形成初步认识,并实现一个表单提交和反显的功能。
- 使用后端语言连接本地或远程数据库 MySQL。
这些语言不用学得特别精通,感受一下几个不同的语言,知道相关的文档和知识在哪里,能够去查阅。
实践项目
做一个简单的 Blog 系统:
- 用户注册和登录
- 用户发贴
- 用户评论
从前端做到后端,即从 HTML/CSS/JavaScript,到后面的 PHP/Python/Node.js,再到数据库。
需要注意的技术点:
- 用户登录时的密码不应该保存为明文,应该用 MD5+Salt 来保存
- 用户登录后,对于用户自己的贴子可以有“编辑”或 “删除”的功能,但无权编辑或删除其它用户的贴子
- 数据库的设计,需要三张表:用户表、文章表和评论表,并且需要设计它们之间的关联关系
技术拓展:
- 图片验证码
- 上传图片
- 阻止用户在发文章或评论时输入带 HTML 或 JavaScript 的内容
- 防范 SQL 注入